package 创建型模式.单例模式.静态内部类;

/**
 * @author 康米
 * @date 2023/2/8  17:30
 */
public class StaticInnerClass {

    /**
     * 静态内部类不会在单例加载时就加载
     */
    public static class InnerClass{
        private static final StaticInnerClass STATIC_INNER_CLASS =new StaticInnerClass();
    }

    /**
     * 用途：将无参构造私有化，即防止该类被实例化
     */
    private StaticInnerClass(){}

    /**
     * 用途：获取唯一可用对象
     * @return STATIC_INNER_CLASS
     */
    public static StaticInnerClass getInstance(){
        return InnerClass.STATIC_INNER_CLASS;
    }

    /**
     * 该对象具体方法的实现
     */
    public void show(){
        System.out.println("单例-静态内部类");
    }
}
